package com.sikaryofficial.backend.domain.dto.resp.productactivity;

import com.sikaryofficial.common.core.annotation.DataMasking;
import com.sikaryofficial.common.core.annotation.LocalDateTimeFormat;
import com.sikaryofficial.common.core.enums.DataMaskingType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 活动结果对象 activity_result_t
 *
 * @author qinjinyuan
 * @date 2023-10-30
 */
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ApiModel(value = "中奖结果出参", description = "中奖结果出参")
public class ActivityResultDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 抽奖结果表ID
     */
    @ApiModelProperty(value = "抽奖结果表ID")
    private Long activityResultId;
    /**
     * 活动ID
     */
    @ApiModelProperty(value = "活动ID", example = "12.2435")
    private Long activityId;

    /**
     * 预约ID
     */
    @ApiModelProperty(value = "预约ID", example = "12.2435")
    private Long activityReserveId;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", example = "1332435")
    @DataMasking(type = DataMaskingType.FIRST_MASK)
    private Long createdBy;
    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人账号", example = "12.2435")
    @DataMasking(type = DataMaskingType.CUSTOM, start = 1, end = 10)
    private String createdName;

    /**
     * 创建时间
     */
    @LocalDateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "获奖时间", example = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    /**
     * 奖品发放状态 0-未发放 1-已发放
     */
    @ApiModelProperty(value = "奖品发放状态 0-未发放 1-已发放", example = "0")
    private Integer prizeGrantStatus;

}
